File authority[shell]

$ls -al

total 608

drwxr-xr-x+  47 csian  staff    1504 Jul 22 15:59 .

drwxr-xr-x    6 root   admin     192 Jan  1  2020 ..

-r--------    1 csian  staff       7 Mar  2 20:09 .CFUserTextEncoding

-rw-r--r--@   1 csian  staff   14340 Jul 21 14:17 .DS_Store

drwxr-xr-x    8 csian  staff     256 Jul  4 19:15 .IdentityService

drwx------    2 csian  staff      64 Jul 22 11:34 .Trash

drwxr-xr-x    3 csian  staff      96 Jan 16  2021 .anaconda

drwxr-xr-x    3 csian  staff      96 Jul  4 19:14 .android

drwxr-xr-x    4 csian  staff     128 Jan 16  2021 .astropy

-rw-------    1 csian  staff    2243 Jul 10 22:09 .bash_history

drwxr-xr-x    3 csian  staff      96 Jan 16  2021 .conda

-rw-r--r--    1 csian  staff      66 Jan 16  2021 .condarc

drwxr-xr-x    7 csian  staff     224 Jul  6 12:24 .config

drwxr-xr-x    3 csian  staff      96 Jul  6 13:29 .dotnet

drwxr-xr-x    8 csian  staff     256 Jan 23 14:35 .eclipse

-rw-r--r--    1 csian  staff     202 Jul 21 15:37 .gitconfig

drwxr-xr-x    4 csian  staff     128 Dec 22  2020 .idlerc

drwxr-x---    2 csian  staff      64 Jul  6 13:35 .lldb

drwxrwxrwx    3 csian  staff      96 Jul  6 12:39 .local

drwxr-xr-x    5 csian  staff     160 Jan 16  2021 .matplotlib

drwxr-xr-x    3 csian  staff      96 Jul  4 19:03 .mono

drwxr-xr-x    2 csian  staff      64 Jul  6 13:29 .omnisharp

drwxr-xr-x    8 csian  staff     256 Jul 20 13:34 .p2

drwx------    2 csian  staff      64 Jan 16  2021 .python27_compiled

-rw-------    1 csian  staff  253251 Jul 21 21:11 .python_history

drwx------    3 csian  staff      96 Jul 22 14:16 .ssh

drwxr-xr-x    3 csian  staff      96 Jul  6 12:22 .templateengine

drwxr-xr-x    3 csian  staff      96 Jan 23 14:35 .tooling

drwxr-xr-x    2 csian  staff      64 Jan 16  2021 .virtualenvs

drwxr-xr-x    4 csian  staff     128 Jul  6 12:50 .vscode

-rw-r--r--    1 csian  staff     164 Dec 22  2020 .zprofile

-rw-------    1 csian  staff   15233 Jul 22 15:54 .zsh_history

drwx------  102 csian  staff    3264 Jul 22 15:59 .zsh_sessions

-rw-r--r--    1 csian  staff     494 Jan 16  2021 .zshrc

drwx------@   5 csian  staff     160 Feb 13 23:14 Applications

drwx------@   8 csian  staff     256 Jul 21 14:16 Desktop

drwx------+   5 csian  staff     160 Jan 15  2021 Documents

drwx------+   4 csian  staff     128 Jul 21 22:45 Downloads

drwx------@   9 csian  staff     288 Jul 22 11:35 Google 드라이브

drwx------@  80 csian  staff    2560 Jul  6 13:32 Library

drwx------    5 csian  staff     160 Dec 24  2020 Movies

drwx------+   8 csian  staff     256 Dec 22  2020 Music

drwx------+   4 csian  staff     128 Dec 22  2020 Pictures

drwxr-xr-x+   5 csian  staff     160 Dec 24  2020 Public

drwxr-xr-x    4 csian  staff     128 Jan 23 14:37 eclipse

drwxr-xr-x    4 csian  staff     128 Jul 21 14:13 nltk_data

drwxr-xr-x    4 csian  staff     128 Jan 16  2021 opt

파일마다 소유자, 소유자 그룹, 모든 사용자에 대해
    읽고, 쓰고, 실행하는 권한 설정
    소유자 접근 권한 정보는 inode에 저장(시스템콜을 통해 inode 정보를 모아온다.)
ls와 파일 권한
파일 접근 권한 설정
사용자
- 소유자: 소유자에 대한 권한
- 그룹: 소유자가 속해 있는 그룹에 대한 권한
- 공개: 모든 사용자들에 대한 권한

퍼미션 종류(권한 기호)
- 읽기(r): 읽기 권한
- 쓰기(w): 쓰기 권한
- 실행(x): 실행 권한

celina@ubuntuserver:~$ ls -al

total 40

drwxr-xr-x 6 celina celina 4096 Jul 22 05:28 .

drwxr-xr-x 3 root   root   4096 Jul 22 02:35 ..

-rw------- 1 celina celina 1430 Jul 22 13:04 .bash_history

-rw-r--r-- 1 celina celina  220 Feb 25  2020 .bash_logout

-rw-r--r-- 1 celina celina 3771 Feb 25  2020 .bashrc

drwx------ 2 celina celina 4096 Jul 22 02:37 .cache

-rw-r--r-- 1 celina celina  807 Feb 25  2020 .profile

drwx------ 2 celina celina 4096 Jul 22 05:28 .ssh

-rw-r--r-- 1 celina celina    0 Jul 22 03:27 .sudo_as_admin_successful

drwxrwxr-x 2 celina celina 4096 Jul 22 03:52 celina

drwxr-xr-x 3 celina celina 4096 Jul 22 03:18 snapr

$chmod: 파일 권한 변경
1. 기호 문자를 사용하는 방법
$chmod g+rx test.c
$chmod u+rw test.c
$chmod ug+rw test.c
$chmod u=rwx, g=rw, o=rx test.c

u- 사용자
g- 그룹
o- 기타
a- 전부

+ 더하기
- 빼기
= 설정

r- 읽기
w- 쓰기
x- 실행

2. 숫자를 사용하는 방법
r(2^2)w(2^1)x(2^0)
rwxrwxrwx=777
r-xr-xr-x=555
r————=400
rwx———=700
ex) chmod 400 mysecurity.pem
자주 사용하는 옵션
chmod -R 777 directory        // directory이하의 전체에 특정한 권한을 부여
$chown: 소유자 변경
$chown [option] [owner:owngroup] [filename]
$chmod root:root file
$chmod root: file
$chmod :root file

chown -R root:root directory        //directory 내의 모든 own 변경
$chgrp [option] [group] [file]        // 그룹만 변경
$chgrp -R root direictory
$cat test.c        //text file 출력
$head .test.c        //앞의 10줄만 출력
$tail test.c        //뒤의 10줄만 출력
$more test.c    //한 화면에 출력할 수 있는 만큼 출력, 이후 스페이스를 통해 페이지 넘길 수 있다.
$rm test.c        //파일 삭제
$rm -rf [directory]        //디렉토리와 하위폴더 모두 삭제
    -r: 하위 디렉토리를 포함한 모든 파일 삭제
    -f: 강제로 파일이나 디렉토리 삭제
(기본적으로 리눅스에는 휴지통이 없음)
정리
shell(bash)
whoami, useradd, passwd, su-, groupadd
pwd, cd, ls, cat, head, tail, more, rm
chmod, chown, chgrp
sudo
man